package com.yuerenjf.yuerenjinfu.ads;

import android.annotation.SuppressLint;
import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DBHelper extends SQLiteOpenHelper {
	private static final int VERSION = 1;
	public static final String TABLE_NAME_ADVER = "adverdb";//����
	
	/**
	 * ������Ϣ
	 * 
	 * @return
	 */
	private static final String SQL_CREATE_ADVER = "create table IF NOT EXISTS "+TABLE_NAME_ADVER+"(_id integer primary key autoincrement,"
			+ "ad_id varchar(8),end varchar(32),title varchar(128),url varchar(128),typeid varchar(2),androidimg varchar(128),flag varchar(2))";
	
	private static final String SQL_DROP_ADVER = "drop table if exists plistdb"+TABLE_NAME_ADVER;
	private static DBHelper sDbHelper = null;

	/**
	 * @param context
	 * @param factory
	 * @param version
	 */
	public DBHelper(Context context) {
		super(context, TABLE_NAME_ADVER, null, VERSION);
	}

	public static DBHelper getInstance(Context context) {
		if (null == sDbHelper) {
			sDbHelper = new DBHelper(context);
		}

		return sDbHelper;
	}
	/**
	 * �������
	 * 1���ڵ�һ�δ����ݿ��ʱ��Ż���
	 * 2�����������֮���ٴ�����-->�����ݿ⣬�����������
	 * 3��û��������ݣ��������������
	 * 4�����ݿ�������ʱ���������������
	 */
	@Override
	public void onCreate(SQLiteDatabase db) {
		initAllTables(db);
	}
	/**
	 * ִ�����ݿ�Ľ�������
	 * * 1��ֻ���°汾�Ⱦɰ汾�͵�ʱ��Ż�ִ��
	 * * 2�������ִ�н������������׳��쳣
	 */
	@SuppressLint("NewApi") @Override
	public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		// TODO Auto-generated method stub
		dropAllTables(db);
		initAllTables(db);
		super.onDowngrade(db, oldVersion, newVersion);
	}
	/**
	 * ��ʼ�����б�
	 * @param db
	 */
	private void initAllTables(SQLiteDatabase db) {
		try {
			db.execSQL(SQL_CREATE_ADVER);
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	/**
	 * ɾ�����б�
	 * @param db
	 */
	private void dropAllTables(SQLiteDatabase db) {
		db.execSQL(SQL_DROP_ADVER);
		db.execSQL(SQL_CREATE_ADVER);
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		
	}
}
